package com.itheima.springbootwebtlias.controller;

import com.itheima.springbootwebtlias.pojo.Result;
import com.itheima.springbootwebtlias.service.ReportService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@Slf4j
@RestController
@RequestMapping("/report")
public class ReportController {

    @Autowired
    ReportService reportService;

    // 员工职位人数统计
    @GetMapping("/empJobData")
    public Result jobCount() {
        // 1. 接收请求参数：无

        // 2. 调用业务层Service的功能方法，查询职位统计数据
        Map jobOption = reportService.jobCount();
        // map.put("jobList", ...)
        // map.put("dataList", ...)

        // 3. 封装响应结果
        return Result.success(jobOption); // code=1, msg=success, data=map
    }


    // 员工性别统计
    @GetMapping(value = "/empGenderData")
    public Result genderCount() {
        // 1.接收请求参数：无

        // 2.调用业务层Service的功能方法，查询性别统计数据
        List<Map> map = reportService.genderCount();

        // 3.封装响应结果
        return Result.success(map); // code=1,msg=success,data=List<Map>
    }

    // 班级人数统计
    @GetMapping("/studentCountData")
    public Result stuCount() {
        // 1.接收请求参数：无

        // 2.调用业务层Service的功能方法，查询班级人数统计数据
        Map claOption = reportService.stuCount();

        // 3.封装响应结果
        return Result.success(claOption);
    }

    // 学员学历统计
    @GetMapping("/studentDegreeData")
    public Result degreeCount() {
        // 1.接收请求参数：无
        // 2.调用业务层Service的功能方法，查询学历统计数据
        List<Map> map = reportService.degreeCount();

        // 3.封装响应结果
        return Result.success(map);
    }

}
